In the event of technical difficulties with Szkopuł, please contact us via email at [email protected].
If you would like to talk about tasks, solutions or technical problems, please visit our Discord servers. They are moderated by the community, but members of the support team are also active there.
Al Bajtone, znany na całym świecie złodziej planuje napad na bank. Wie, że jak tylko obrabuje bank, rozpocznie się policyjny pościg. Al Bajtone jest niestety kiepskim kierowcą i skręcanie w lewo sprawia mu kłopoty. Chce więc tak zaplanować ucieczkę, aby przez każde skrzyżowanie przejeżdżać na wprost lub skręcać w prawo. Wie też, że jeżeli przez jakieś skrzyżowanie raz przejedzie, to policja będzie tam już na niego czyhać. Nie może więc dwa razy przejeżdżać przez to samo skrzyżowanie. Dodatkowo, na niektórych skrzyżowaniach zawsze stoją patrole policji, więc takie skrzyżowania musi omijać. (Na skrzyżowaniach przy których znajdują się bank i kryjówka nie ma patroli policji).
Al Bajtone planuje trasę ucieczki z banku do swojej kryjówki. Nieoczekiwanie złożył Ci wizytę i przedstawił "propozycję nie do odrzucenia": musisz policzyć ile jest różnych tras ucieczki prowadzących z banku do kryjówki, spełniających podane warunki.
Ulice Bajtogrodu tworzą regularną prostokątną siatkę. Wszystkie ulice prowadzą w kierunku północ-południe lub wschód-zachód, a na przecięciu każdych dwóch ulic znajduje się skrzyżowanie. Bank znajduje się na południe od skrzyżowania wysuniętego najbardziej na południowy zachód. Al Bajtone rozpocznie ucieczkę w kierunku północnym.
Napisz program, który:
W pierwszym wierszu standardowego wejścia znajdują się trzy liczby całkowite , i (, ). Liczby i to odpowiednio liczby ulic, które prowadzą w kierunku wschód-zachód oraz północ-południe. W drugim wierszu znajdują się dwie liczby całkowite i (, ). Reprezentują one położenie kryjówki - znajduje się ona przy skrzyżowaniu -tej ulicy prowadzącej w kierunku północ-południe i -ej ulicy prowadzącej w kierunku wschód-zachód. Ulice są numerowane z zachodu na wschód i z północy na południe, odpowiednio od 1 do i od 1 do .
W każdym z następnych wierszy znajduje się znaków "*" i/lub "+". Jest to mapa miasta. Znak w -tym wierszu i -tej kolumnie tej mapy określa skrzyżowanie -tej ulicy prowadzącej z zachodu na wschód z -tą ulicą prowadzącą z północy na południe, przy czym "*" oznacza, że na skrzyżowaniu stoi patrol policji, a "+" oznacza, że przez skrzyżowanie może prowadzić trasa ucieczki.
Al Bajtone rozpoczyna ucieczkę wjeżdżając na skrzyżowanie o współrzędnych z kierunku południowego, tj. z nieistniejącego skrzyżowania .
Twój program powinien wypisać w pierwszym i jedynym wierszu resztę z dzielenia liczby wszystkich możliwych tras ucieczki przez .
Dla danych wejściowych:
3 5 10 4 2 +++++ ++*++ ++++*
poprawną odpowiedzią jest:
2
Autor zadania: Marian M. Kędzierski.